3e4f2d719450c7772365361ee3a92f2525679ec7,src/main/java/com/tlswe/awsmock/ec2/control/MockEC2QueryHandler.java,MockEC2QueryHandler,writeReponse,#Map#Writer#,85
Before Change
if (null != action && action.length == 1) {
if ("DescribeInstances".equals(action[0])) {
// put all the instanceIDs into a set
Set<String> instanceIDs = parseInstanceIDs(queryParams);
try {
writer.write(JAXBUtil.marshall(describeInstances(instanceIDs), "DescribeInstancesResponse",
version[0]));
} catch (JAXBException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else if ("RunInstances".equals(action[0])) {
String imageID = queryParams.get("ImageId")[0];
String instanceType = queryParams.get("InstanceType")[0];
int minCount = Integer.parseInt(queryParams.get("MinCount")[0]);
int maxCount = Integer.parseInt(queryParams.get("MaxCount")[0]);
try {
writer.write(JAXBUtil.marshall(runInstances(imageID, instanceType, minCount, maxCount),
"RunInstancesResponse", version[0]));
// JAXBUtil.marshall3(
// MockEC2QueryHandler.describeInstances(instanceIDs),
// writer);
} catch (JAXBException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else if ("StartInstances".equals(action[0])) {
// put all the instanceIDs into a set
Set<String> instanceIDs = parseInstanceIDs(queryParams);
try {
writer.write(JAXBUtil.marshall(startInstances(instanceIDs), "StartInstancesResponse", version[0]));
} catch (JAXBException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else if ("StopInstances".equals(action[0])) {
Set<String> instanceIDs = parseInstanceIDs(queryParams);
try {
writer.write(JAXBUtil.marshall(stopInstances(instanceIDs), "StopInstancesResponse", version[0]));
} catch (JAXBException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else if ("TerminateInstances".equals(action[0])) {
Set<String> instanceIDs = parseInstanceIDs(queryParams);
try {
writer.write(JAXBUtil.marshall(terminateInstances(instanceIDs), "TerminateInstancesResponse",
version[0]));
} catch (JAXBException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else if ("DescribeImages".equals(action[0])) {
try {
After Change
* @return true for successfully handling query, false: not
* @throws
*/
public static void writeReponse(Map<String, String[]> queryParams, final Writer writer) {
if (null == queryParams || queryParams.size() == 0) {
// TODO no params found at all - write an error xml response
return;
}
// parse the parameters in query
String[] version = queryParams.get("Version");
if (null == version || version.length != 1) {
} else {
// TODO no version param found - write an error xml response
}
String[] action = queryParams.get("Action");
String responseXml = null;
if (null != action && action.length == 1) {
try {
if ("DescribeInstances".equals(action[0])) {
// put all the instanceIDs into a set
Set<String> instanceIDs = parseInstanceIDs(queryParams);
responseXml = JAXBUtil.marshall(describeInstances(instanceIDs), "DescribeInstancesResponse",
version[0]);
} else if ("RunInstances".equals(action[0])) {
String imageID = queryParams.get("ImageId")[0];
String instanceType = queryParams.get("InstanceType")[0];
int minCount = Integer.parseInt(queryParams.get("MinCount")[0]);
int maxCount = Integer.parseInt(queryParams.get("MaxCount")[0]);
responseXml = JAXBUtil.marshall(runInstances(imageID, instanceType, minCount, maxCount),
"RunInstancesResponse", version[0]);
} else if ("StartInstances".equals(action[0])) {
// put all the instanceIDs into a set
Set<String> instanceIDs = parseInstanceIDs(queryParams);
responseXml = JAXBUtil.marshall(startInstances(instanceIDs), "StartInstancesResponse", version[0]);
} else if ("StopInstances".equals(action[0])) {
Set<String> instanceIDs = parseInstanceIDs(queryParams);
responseXml = JAXBUtil.marshall(stopInstances(instanceIDs), "StopInstancesResponse", version[0]);
} else if ("TerminateInstances".equals(action[0])) {
Set<String> instanceIDs = parseInstanceIDs(queryParams);